1. Field of Use
The present invention pertains to data protection systems and, more particularly, to systems useful in performing software licensing verification.
2. Prior Art
Software is viewed as an important valuable asset whose use must be protected to the extent possible from unauthorized copying and distribution. Many companies protect software through the use of license agreements. In certain instances, locking mechanisms have been incorporated into software packages distributed to end users which prevent the making of copies of such software after the software is installed into a system. However, this type of approach has been found inconvenient to users since it does not allow users to make necessary copies (e.g. archival copies) to prevent interruptions in normal business operations. Others have employed encryption and decryption techniques to protect unauthorized copying. The overhead in performing such operations is substantial which reduces processing system efficiency.
Still others have utilized programmed algorithms to protect against unauthorized access. Such algorithms can be ascertained from an examination of the program's source code. Also, decompiler products are available on the market which can be used to extract the algorithms from the object code version of the program. Thus, it has become difficult to ensure the security of such algorithms in such cases. Further, the above approaches have been found to be costly to implement, complex or complicated to use or inconvenient to end users.
Accordingly, it is a primary object of the present invention to provide a mechanism for generating key values that cannot be easily counterfeited which control the use of software packages.
It is a further object to provide a mechanism whose documentation and source code can be distributed to end users without requiring extensive security measures.